package com.example.shopp_2301

import android.os.Bundle
import android.webkit.WebChromeClient
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import com.alibaba.android.arouter.facade.annotation.Autowired
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.example.base.mvvm.BaseViewActivity
import com.example.shopp_2301.databinding.ActivityWebViewBinding

/**
 * 封装WebViewActivity,只要是显示webview都可用这一个文件  不用重复编写代码
 * 同时，网页地址发生变化时，不用修改
 */
@Route(path = "/app/WebViewActivity")
class WebViewActivity : BaseViewActivity<ActivityWebViewBinding>() {
    @JvmField//将数据变为公开的 //当传值为实体类时，这个注解就不需要了
    @Autowired//将两边数据统一一下（name可省略  当两边名称一致时）
    var url = ""
    override fun initView() {
        ARouter.getInstance().inject(this)//将数据注入到此界面中

        binding.wv.loadUrl(url)//加载网址，，，自动跳转到对应的网址  离开本app
        binding.wv.webViewClient = WebViewClient()//添加上这行，留在本app
        binding.wv.settings.javaScriptEnabled = true//添加上这行，可以任意点击页面上，进行跳转（有些可能访问不了）
        //加载进度条
        val webChromeClient = object :WebChromeClient(){
            override fun onProgressChanged(view: WebView?, newProgress: Int) {
                super.onProgressChanged(view, newProgress)
                binding.pb.progress = newProgress//设置进度值
                if(newProgress==100){
                    binding.pb.isVisible = false//加载完成，进度条消失
                }
            }

        }
        binding.wv.webChromeClient = webChromeClient

    }

    override fun initData() {

    }

    override fun getLayout(): Int {
        return R.layout.activity_web_view
    }

}